package com.zjhb.entity;

import java.util.Objects;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Transient;

import org.hibernate.annotations.GenericGenerator;

import com.zjhb.common.controller.ExcelIgnore;
import com.zjhb.common.util.StringMyUtil;

@javax.persistence.Entity
@javax.persistence.Table(name = "keep_apply", schema = "army", catalog = "")
public class KeepApplyEntity {
	@ExcelIgnore
	private String id;
	@ExcelIgnore
	private String assetsId;
	private String code;
	private String createTime;	
	private String name;
	private String departIdName;
	private String areaDesc;	
	private String place;
	private String person;
	private String phone;
	private String reason;
	private String info;
	@ExcelIgnore
	private String verifyUser;
	@ExcelIgnore
	private String status;
	@ExcelIgnore
	private String verifyTime;
	@ExcelIgnore
	private String keepTime;
	@ExcelIgnore
	private String createUser;
	@ExcelIgnore
	private String keepUserId;
	@ExcelIgnore
	private String waitRemark;
	@ExcelIgnore
	private String remark;
	
	private String remarkDesc;
	
	private String remarkInfo;	
	@ExcelIgnore
	private String areaId;
	@ExcelIgnore
	private String statusDesc;
	@ExcelIgnore
	private String number;
	@ExcelIgnore
	private String departId;
	private String keepUserName;
	
	@Transient
	public String getWaitRemark() {
		return waitRemark;
	}

	public void setWaitRemark(String waitRemark) {
		this.waitRemark = waitRemark;
	}

	@Transient
	public String getKeepUserName() {
		return keepUserName;
	}

	public void setKeepUserName(String keepUserName) {
		this.keepUserName = keepUserName;
	}

	@ExcelIgnore
	private String codeUrl;
	
	@javax.persistence.Basic
	@javax.persistence.Column(name = "place")
	public String getPlace() {
		return place;
	}

	public void setPlace(String place) {
		this.place = place;
	}
	@javax.persistence.Basic
	@javax.persistence.Column(name = "person")
	public String getPerson() {
		return person;
	}

	public void setPerson(String person) {
		this.person = person;
	}
	@javax.persistence.Basic
	@javax.persistence.Column(name = "phone")
	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	@Transient
	public String getRemarkDesc() {
		return remarkDesc;
	}

	public void setRemarkDesc(String remarkDesc) {
		this.remarkDesc = remarkDesc;
	}
	@javax.persistence.Basic
	@javax.persistence.Column(name = "remark_info")
	public String getRemarkInfo() {
		return remarkInfo;
	}

	public void setRemarkInfo(String remarkInfo) {
		this.remarkInfo = remarkInfo;
	}

	@Transient
	public String getAreaDesc() {
		return areaDesc;
	}

	public void setAreaDesc(String areaDesc) {
		this.areaDesc = areaDesc;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "code_url")
	public String getCodeUrl() {
		return codeUrl;
	}

	public void setCodeUrl(String codeUrl) {
		this.codeUrl = codeUrl;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "number")
	public String getNumber() {
		return number;
	}

	public void setNumber(String number) {
		this.number = number;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "depart_id")
	public String getDepartId() {
		return departId;
	}

	public void setDepartId(String departId) {
		this.departId = departId;
	}
	
	@javax.persistence.Basic
	@javax.persistence.Column(name = "depart_name")
	public String getDepartIdName() {
		return departIdName;
	}

	public void setDepartIdName(String departIdName) {
		this.departIdName = departIdName;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "name")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "area_id")
	public String getAreaId() {
		return areaId;
	}

	public void setAreaId(String areaId) {
		this.areaId = areaId;
	}

	@Transient
	public String getStatusDesc() {
		return statusDesc;
	}

	public void setStatusDesc(String statusDesc) {
		this.statusDesc = statusDesc;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "reason")
	public String getReason() {
		return reason;
	}

	public void setReason(String reason) {
		this.reason = reason;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "remark")
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "keep_user_id")
	public String getKeepUserId() {
		return keepUserId;
	}

	public void setKeepUserId(String keepUserId) {
		this.keepUserId = keepUserId;
	}

	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name = "ID")
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "assets_id")
	public String getAssetsId() {
		return assetsId;
	}

	public void setAssetsId(String assetsId) {
		this.assetsId = assetsId;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "create_time")
	public String getCreateTime() {
		return StringMyUtil.dateTimeSplit(createTime);
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "code")
	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "verify_user")
	public String getVerifyUser() {
		return verifyUser;
	}

	public void setVerifyUser(String verifyUser) {
		this.verifyUser = verifyUser;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "status")
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "info")
	public String getInfo() {
		return info;
	}

	public void setInfo(String info) {
		this.info = info;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "verify_time")
	public String getVerifyTime() {
		return StringMyUtil.dateTimeSplit(verifyTime);
	}

	public void setVerifyTime(String verifyTime) {
		this.verifyTime = verifyTime;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "keep_time")
	public String getKeepTime() {
		return StringMyUtil.dateTimeSplit(keepTime);
	}

	public void setKeepTime(String keepTime) {
		this.keepTime = keepTime;
	}

	@javax.persistence.Basic
	@javax.persistence.Column(name = "create_user")
	public String getCreateUser() {
		return createUser;
	}

	public void setCreateUser(String createUser) {
		this.createUser = createUser;
	}

	@Override
	public boolean equals(Object o) {
		if (this == o)
			return true;
		if (o == null || getClass() != o.getClass())
			return false;
		KeepApplyEntity that = (KeepApplyEntity) o;
		return Objects.equals(id, that.id) && Objects.equals(assetsId, that.assetsId)
				&& Objects.equals(createTime, that.createTime) && Objects.equals(code, that.code)
				&& Objects.equals(verifyUser, that.verifyUser) && Objects.equals(status, that.status)
				&& Objects.equals(info, that.info) && Objects.equals(verifyTime, that.verifyTime)
				&& Objects.equals(keepTime, that.keepTime) && Objects.equals(createUser, that.createUser);
	}

	@Override
	public int hashCode() {

		return Objects.hash(id, assetsId, createTime, code, verifyUser, status, info, verifyTime, keepTime, createUser);
	}
}
